﻿// (c) Copyright Microsoft Corporation.
// This source is subject to the Microsoft Public License (Ms-PL).
// Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details.
// All other rights reserved.

using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StyleMVVM.Controls.Common
{
	/// <summary>
	/// The IUpdateVisualState interface is used to provide the
	/// InteractionHelper with access to the type's UpdateVisualState method.
	/// </summary>
	[SuppressMessage("Microsoft.Design", "CA1064:ExceptionsShouldBePublic",
		Justification = "This is not an exception class.")]
	public interface IUpdateVisualState
	{
		/// <summary>
		/// Update the visual state of the control.
		/// </summary>
		/// <param name="useTransitions">
		/// A value indicating whether to automatically generate transitions to
		/// the new state, or instantly transition to the new state.
		/// </param>
		void UpdateVisualState(bool useTransitions);
	}
}